Using multiple sensors arranged in an array, for example microphones arranged in a microphone array, to improve the quality of a captured signal, such as an audio signal, is a common practice. Various processing is typically performed to improve the signal captured by the array. For example, beamforming is one way that the captured signal can be improved.
Beamforming operations are applicable to processing the signals of a number of arrays, including microphone arrays, sonar arrays, directional radio antenna arrays, radar arrays, and so forth. In general, a beamformer is basically a spatial filter that operates on the output of an array of sensors, such as microphones, in order to enhance the amplitude of a coherent wave front relative to background noise and directional interference. In the case of a microphone array, beamforming involves processing output audio signals of the microphones of the array in such a way as to make the microphone array act as a highly directional microphone. In other words, beamforming provides a “listening beam” which points to, and receives, a particular sound source while attenuating other sounds and noise, including, for example, reflections, reverberations, interference, and sounds or noise coming from other directions or points outside the primary beam. Beamforming operations make the microphone array listen to given look-up direction, or angular space range. Pointing of such beams to various directions is typically referred to as beamsteering. A typical beamformer employs a set of beams that cover a desired angular space range in order to better capture the target or desired signal. There are, however, limitations to the improvement possible in processing a signal by employing beamforming.
Under real life conditions high reverberation leads to spatial spreading of the sound, even of point sources. For example, in many cases point noise sources are not stationary and have the dynamics of the source speech signal or are speech signals themselves, i.e. interference sources. Conventional time invariant beamformers are usually optimized under the assumption of isotropic ambient noise. Adaptive beamformers, on the other hand, work best under low reverberation conditions and a point noise source. In both cases, however, the improvements possible in noise suppression and signal selection capabilities of these algorithms are nearly exhausted with already existing algorithms.
Therefore, the SNR of the output signal generated by conventional beamformer systems is often further enhanced using post-processing or post-filtering techniques. In general, such techniques operate by applying additional post-filtering algorithms for sensor array outputs to enhance beamformer output signals. For example, microphone array processing algorithms generally use a beamformer to jointly process the signals from all microphones to create a single-channel output signal with increased directivity and thus higher SNR compared to a single microphone. This output signal is then often further enhanced by the use of a single channel post-filter for processing the beamformer output in such a way that the SNR of the output signal is significantly improved relative to the SNR produced by use of the beamformer alone.
Unfortunately, one problem with conventional beamformer post-filtering techniques is that they generally operate on the assumption that any noise present in the signal is either incoherent or diffuse. As such, these conventional post-filtering techniques generally fail to make allowances for point noise sources which may be strongly correlated across the sensor array. Consequently, the SNR of the output signal is not generally improved relative to highly correlated point noise sources.